> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-api_docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Unity Ecosystem Wallet Authentication

> Ecosystem Wallet Documentation for Sequence's Unity SDK.

Start with an implicit session which is restricted to contracts built by Sequence.
Alternatively, you can choose to add a `IPermissions` object to each Sign In call, if you want to connect to an
explicit session directly.

[Learn how to construct permissions.](/sdk/unity/wallets/ecosystem-wallet/permissions)

### Recover wallet from storage

This function returns `null` when no wallet is found.

```csharp theme={null}
IWallet wallet = SequenceWallet.RecoverFromStorage();
```

### Create an Interface to Sign In

```csharp theme={null}
SequenceConnect connect = new SequenceConnect();
```

### Get Ecosystem Config

Get configuration data from the Ecosystem. This includes data such as the name, description, enabled chains and auth providers.

```csharp theme={null}
EcosystemConfig config = await connect.GetEcosystemConfig();

string name = config.name;
EcosystemAuthProvider[] authProviders = config.enabledProviders;
```

### Sign In with Email

```csharp theme={null}
string email = "your.mail@example.com";
IWallet wallet = await connect.SignInWithEmail(email);
```

### Sign In with Google

```csharp theme={null}
IWallet wallet = await connect.SignInWithGoogle();
```

### Sign In with Apple

```csharp theme={null}
IWallet wallet = await connect.SignInWithApple();
```

### Sign In with Passkey

```csharp theme={null}
IWallet wallet = await connect.SignInWithPasskey();
```

### Sign In with Mnemonic

```csharp theme={null}
IWallet wallet = await connect.SignInWithMnemonic();
```
